iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
自我挑戰組

leetcode題目分享系列 第 2

[Day 2] 2707. Extra Characters in a String

  • 分享至 

  • xImage
  •  

今天工作太累,晚點補解釋...
(已編輯)
這題dp的使用是逐漸挑選較少的未包含字串,每個dictionary內的string去比較哪個能留下最少的extra characters,也就實現dp的精神:[每個小問題的最佳化即為問題的最佳化]

class Solution {
public:
    int minExtraChar(string s, vector<string>& dictionary) {
        int dp[51] = {};
        int n = s.size();

        for(int i = n - 1; i >= 0; i--){
            dp[i] = 1 + dp[i + 1];

            for(auto &w : dictionary){
                if(i + w.size() <= n && s.compare(i, w.size(), w) == 0){
                    dp[i] = min(dp[i], dp[i + w.size()]);
                }
            } 
        }
        return dp[0];
    }
};

上一篇
[Day 1] 338. Counting Bits
下一篇
[Day 3] 62. Unique Paths
系列文
leetcode題目分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言